package com.ce.source.analysis.list;

import com.alibaba.fastjson.JSON;
import org.junit.Test;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ：前世小和尚（xiaopingzhang8@creditease.cn）
 * @Description ：链表分析
 * @ClassName ：ArrayListAnalysis
 * @Company ：普信恒业科技发展（北京）有限公司
 * @date ：2018/3/21 11:17
 */
public class ArrayListAnalysis {

    /**
     * <pre>
     *     arrayList 扩容长度=原长度+原长度>>1
     *     采用数据的拷贝  System.arraycopy
     * </pre>
     */
    @Test
    public void Resize() {
        List list = new ArrayList(4);

        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);

        list.add(5);

        System.out.println(JSON.toJSONString(list));
    }

    @Test
    public void insertIndex() {
        List list = new ArrayList(4);

        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);

        list.add(5);
        list.add(3, 6);

        System.out.println(JSON.toJSONString(list));
    }

    @Test
    public void testTry(){
        System.out.println(test1());
    }

    private BigDecimal test1() {
        BigDecimal x = new BigDecimal("2");
        try{
            x=new BigDecimal("5");
            return x;
        }finally {
            x=new BigDecimal("8");
        }
    }


}
